package com.liangzhihao.common.utils;

public class StringUtils {
	
	private StringUtils() {}
	
	public static boolean hasLength(String src) {
		return src!=null && src.length()>0;
	}
	//判断传入源字符串是否为空 
	public static boolean isNotEmpty(String src) {
		boolean result=false;
		
		//1.判断src是否为null或者为空字符串，如果是返回false
		result=StringUtils.hasLength(src);
		if(!result)return result;
		else {
			//重新初始化返回结果
			result=false;
			
			//2.判断src中是或都是空格，如果是则返回false
			//将字符窜转换成字符数组
			char[] temp=src.toCharArray();
			//遍历字符数组，如果发现一个非空格字符，将result设置为true然后退出循环
			for(int i=0;i<temp.length;i++) {
				if(temp[i]!=' ') {
					result=true;
					break;
				}
			}
		}
		return result; 
	}
	//判断手机号码
	public static boolean isMobileNumber(String mobile) {
		return mobile.matches("^1[3|4|5|7|8][0-9]\\d{4,8}$");
	}
	//判断输入的元字符串是否都是英文字母
	public static boolean isAllAlphbet(String src) {
		boolean result=false;
		if(!StringUtils.isNotEmpty(src)) return result;
		
		char []temp=src.toCharArray();
		for (char c : temp) {
			if(Character.isAlphabetic(c)) {
				result=false;
				break;
			}
			result=true;
		}
		return result;
	}
	//随即生成字母
	public static String genRandomString(int n) {

		StringBuffer buffer=new StringBuffer();
		for (int i = 0; i < n; i++) {
			char randomChar=(char)((Math.random()*60-1)+65);
			randomChar=randomChar>90&&randomChar<97?(char)(randomChar+8):randomChar;
			buffer.append(randomChar);
		}
		
		
		return buffer.toString();
	}
	//获取n个随机中文字符串
	public static String genChineseString(int in) {
		StringBuffer buffer=new StringBuffer();
		
		int start=Integer.valueOf("4e00", 16);
		int end=Integer.valueOf("9fa5", 16);
		
		//TUDO完成随机生成中文字符串
		
		for (int i = 0; i < in; i++) {
			char randomChar=(char)((Math.random()*end-start+1)+start);
			buffer.append(randomChar);
		}
		return buffer.toString();
	}
}
 